package com.cjkj.applet.domain.dto;

import com.cjkj.common.core.constant.RegConstants;
import com.cjkj.common.core.domain.runset.TimeSetDto;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 新增患者参数字段
 */
@Data
public class PatientRequest {

    /**
     * 就诊号
     */
    private Long visitNo;

    /**
     * 患者姓名
     */
    @NotBlank(message = "患者姓名不能为空！")
    private String patientName;

    /**
     * 身份证号
     */
    @NotBlank(message = "身份证号不能为空！")
    @Pattern(regexp = RegConstants.ID_CARD, message = "身份证号格式有误！")
    private String identityNumber;

    /**
     * 手机号
     */
    @Pattern(regexp = RegConstants.PHONE_NUMBER, message = "手机号格式有误！")
    private String phone;

    /**
     * 设备租用天数
     */
    private Integer rentalDays;

    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号不能为空！")
    private String equipmentNo;

    /**
     * 医生账号
     */
    @NotBlank(message = "医生账号名不能为空！")
    private String userName;

    /**
     * 医生密码
     */
    private String userPassword;

    /**
     * 性别
     */
    private String gender;

    /**
     * 出生日期
     */
    private Date birthday;
    /**
     * 年龄
     */
    private Integer age;

    /**
     * 数据类型（0-睡眠监测，1-多参数监测）
     */
    private String dataType;

    /**
     * 医院ID
     */
    private String hospitalId;

    /**
     * 科室ID
     */
    private String deptId;

    /**
     * 就诊地
     */
    private String place;

    /**
     * 床位号
     */
    @Size(max = 20, message = "床位号过长！")
    private String bedNo;

    /**
     * 诊断
     */
    private String diagnosis;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 医生签名图片
     */
    private String signImg;

    /**
     * TJ03运行模式
     * 1-动态血压模式
     * 2-动态心电模式
     * 3-动态血压+动态心电模式
     * 4-普通血压计模式
     */
    private String mode;

    /**
     * TJ03血压测量计划
     * 1-两个计划
     * 2-五个计划
     */
    private String bpPlan;

    /**
     * TJ03血压测量计划-白天时段设置
     */
    private TimeSetDto bpPlanDaytime;

    /**
     * TJ03血压测量计划-夜间时段设置
     */
    private TimeSetDto bpPlanNight;

    /**
     * TJ03动态心电测量设置
     */
    private TimeSetDto ecgTime;

}